package mastercard.assets.jpa;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;


/**
 * The persistent class for the tbl_role database table.
 * 
 */
@Entity
@Table(name="tbl_role")
public class TblRole implements Serializable {
	private static final long serialVersionUID = 1L;
	private int cveRole;
	private Timestamp fechaAlta;
	private String nombre;
	private byte status;
	private List<TblUsuario> tblUsuarios;
	private List<TblNivel> tblNivels;
	private List<TblFormaAlarma> tblFormaAlarmas;
	private List<TblFormaAlerta> tblFormaAlertas;
	private List<TblTarea> tblTareas;
	private List<TblNotificacion> tblNotificacions;
        private List<TblPreimplementacionFlujoautRoles> tblPreimplementacionFlujoautRoles ;
//	private List<TblFlujoAutorizacion> tblFlujoAutorizacion;

    public TblRole() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="cve_role", unique=true, nullable=false)
	public int getCveRole() {
		return this.cveRole;
	}

	public void setCveRole(int cveRole) {
		this.cveRole = cveRole;
	}


	@Column(name="fecha_alta", nullable=false)
	public Timestamp getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Timestamp fechaAlta) {
		this.fechaAlta = fechaAlta;
	}


	@Column(nullable=false, length=150)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	@Column(nullable=false)
	public byte getStatus() {
		return this.status;
	}

	public void setStatus(byte status) {
		this.status = status;
	}


	//bi-directional many-to-many association to TblUsuario
    @ManyToMany
	@JoinTable(
		name="tbl_usuario_role"
		, joinColumns={
			@JoinColumn(name="cve_role", nullable=false)
			}
		, inverseJoinColumns={
			@JoinColumn(name="cve_usuario", nullable=false)
			}
		)
	public List<TblUsuario> getTblUsuarios() {
		return this.tblUsuarios;
	}

	public void setTblUsuarios(List<TblUsuario> tblUsuarios) {
		this.tblUsuarios = tblUsuarios;
	}
	

	//bi-directional many-to-one association to TblNivel
	@OneToMany(mappedBy="tblRole")
	public List<TblNivel> getTblNivels() {
		return this.tblNivels;
	}

	public void setTblNivels(List<TblNivel> tblNivels) {
		this.tblNivels = tblNivels;
	}
	

	//bi-directional many-to-one association to TblFormaAlarma
	@OneToMany(mappedBy="tblRole")
	public List<TblFormaAlarma> getTblFormaAlarmas() {
		return this.tblFormaAlarmas;
	}

	public void setTblFormaAlarmas(List<TblFormaAlarma> tblFormaAlarmas) {
		this.tblFormaAlarmas = tblFormaAlarmas;
	}
	

	//bi-directional many-to-one association to TblFormaAlerta
	@OneToMany(mappedBy="tblRole")
	public List<TblFormaAlerta> getTblFormaAlertas() {
		return this.tblFormaAlertas;
	}

	public void setTblFormaAlertas(List<TblFormaAlerta> tblFormaAlertas) {
		this.tblFormaAlertas = tblFormaAlertas;
	}
	

	//bi-directional many-to-one association to TblTarea
	@OneToMany(mappedBy="tblRole")
	public List<TblTarea> getTblTareas() {
		return this.tblTareas;
	}

	public void setTblTareas(List<TblTarea> tblTareas) {
		this.tblTareas = tblTareas;
	}
	

	//bi-directional many-to-one association to TblNotificacion
	@OneToMany(mappedBy="tblRole")
	public List<TblNotificacion> getTblNotificacions() {
		return this.tblNotificacions;
	}

	public void setTblNotificacions(List<TblNotificacion> tblNotificacions) {
		this.tblNotificacions = tblNotificacions;
	}
        
        //bi-directional many-to-one association to TblPreimplementacionFlujoautRoles
	@OneToMany(mappedBy="tblRole")
	public List<TblPreimplementacionFlujoautRoles> getTblPreimplementacionFlujoautRoles() {
		return this.tblPreimplementacionFlujoautRoles;
	}

	public void setTblPreimplementacionFlujoautRoles(List<TblPreimplementacionFlujoautRoles> tblPreimplementacionFlujoautRoles) {
		this.tblPreimplementacionFlujoautRoles = tblPreimplementacionFlujoautRoles;
	}
                
        //bi-directional many-to-many association to TblFlujoAutorizacion
        /*@ManyToMany
	@JoinTable(
		name="tbl_autorizaciones_roles"
		, joinColumns={
			@JoinColumn(name="cve_role", nullable=false)
			}
		, inverseJoinColumns={
			@JoinColumn(name="cve_flujo_autorizaciones", nullable=false)
			}
		)
	public List<TblFlujoAutorizacion> getTblFlujoAutorizacion() {
		return this.tblFlujoAutorizacion;
	}

	public void setTblFlujoAutorizacion(List<TblFlujoAutorizacion> tblFlujoAutorizacion) {
		this.tblFlujoAutorizacion = tblFlujoAutorizacion;
	}
	*/
}